This relates to communication networks, and more particularly, to controlling the flow of network traffic through a communications network.
Packet-based networks such as the internet and local data networks that are connected to the internet include network switches. Network switches are used in forwarding packets from packet sources to packet destinations. The packets may be sometimes referred to as frames.
It can be difficult or impossible to control the switches of one vendor using the equipment of another vendor. This is because the switch equipment of one vendor may use a different operating system and set of control procedures than the switch equipment of another vendor. To address the challenges associated with controlling different types of switch platforms, cross-platform protocols have been developed. These protocols allow centralized control of otherwise incompatible switches.
Cross-platform controller clients can be included on the switches in a network. The controller clients are able to communicate with a corresponding controller server over network paths. Because the controller clients can be implemented on a variety of switch hardware, it is possible for a single controller to control switch equipment that might otherwise be incompatible.
Each network switch on which a controller client has been implemented may include a flow table with entries that specify how packets are to be forwarded by that switch. A controller server may route traffic through the network by modifying the flow tables of the network switches to create packet forwarding paths for the traffic. For example, the controller server may communicate with each network switch that is associated with a desired path to route a data packet from a packet source to a packet destination. The controller server may be required to satisfy network policies that control the flow of traffic through the network. If care is not taken, packet forwarding paths created by the controller server may violate network policies.
It would therefore be desirable to be able to provide improved arrangements for controlling traffic in a communications network by configuring and controlling the network switches in the communications network.